package com.macro.mall.tiny.service;

import com.macro.mall.tiny.common.api.CommonResult;
import com.macro.mall.tiny.common.api.ResponseResult;
import com.macro.mall.tiny.domain.User;
import com.macro.mall.tiny.dto.umsAdminParam;
import com.macro.mall.tiny.dto.updatePasswordDTO;
import com.macro.mall.tiny.mbg.model.UmsAdmin;
import com.macro.mall.tiny.mbg.model.UmsRole;

import java.util.List;

public interface UmsAdminService {

    //登录
    ResponseResult login(User user);

    //退出登录
    CommonResult logout();

    //用户注册
    UmsAdmin register(umsAdminParam umsAdminParam);

    //刷新令牌
    String refreshToken(String token);

    //根据用户名查询用户信息
    UmsAdmin selectByUsername(String username);

    //根据用户名分页获取用户信息
    List<UmsAdmin> getList(String userName, Integer pageNum, Integer pageSize);

    //获取指定用户信息
    UmsAdmin getById(Long id);

    //修改指定用户信息
    Integer updateById(Long id, UmsAdmin umsAdmin);

    //删除指定用户信息
    Integer deleteById(Long id);

    //修改指定用户密码
    Integer updatePassword(updatePasswordDTO updatePasswordDTO);

    //给用户分配角色
    Integer updateRole(Long userId, List<Long> roleIds);

    //获取指定用户角色
    List<UmsRole> getRoleByAdminId(Long userId);
}
